


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>电子科大基线扫描平台</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="format-detection" content="telephone=no">

    <link rel="stylesheet" href="layui/css/layui.css">
    <style>
        /* 移动端 */
        @media screen and (max-width: 768px) {
            .layui-layout-admin .layui-layout-left,
            .layui-layout-admin .layui-body,
            .layui-layout-admin .layui-footer{left: 0;}
            .layui-layout-admin .layui-side{left: -300px;}
        }
    </style>
</head>
<body>

<div class="layui-layout layui-layout-admin">
    <div class="layui-header">
        <div class="layui-logo layui-hide-xs layui-bg-black">电子科大基线扫描平台</div>
        <!-- 头部区域（可配合layui 已有的水平导航） -->
        <ul class="layui-nav layui-layout-left">
            <!-- 移动端显示 -->
            <li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" lay-header-event="menuLeft">
                <i class="layui-icon layui-icon-spread-left"></i>
            </li>

            <li class="layui-nav-item layui-hide-xs"><a href="">备份服务器</a></li>
            <li class="layui-nav-item layui-hide-xs"><a href="">日志服务器</a></li>
            <li class="layui-nav-item layui-hide-xs"><a href="">元宇宙服务器</a></li>
            <li class="layui-nav-item">
                <a href="javascript:;">日志网络</a>
                <dl class="layui-nav-child">
                    <dd><a href="">扩展日志服务系统01</a></dd>
                    <dd><a href="">扩展日志服务系统02</a></dd>
                    <dd><a href="">扩展日志服务系统03</a></dd>
                </dl>
            </li>


        </ul>
        <ul class="layui-nav layui-layout-right">
            <li class="layui-nav-item layui-hide layui-show-md-inline-block">
                <a href="javascript:;">
                    <img src="img/dzkd.png" style="width: 30px;height: 30px">
                    电子科技大学管理员
                </a>
                <dl class="layui-nav-child">
                    <dd><a href="">个人信息</a></dd>
                    <dd><a href="">退出</a></dd>
                </dl>
            </li>
            <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
                <a href="javascript:;">
                    <i class="layui-icon layui-icon-more-vertical"></i>
                </a>
            </li>
        </ul>
    </div>

    <div class="layui-side layui-bg-black">
        <div class="layui-side-scroll">
            <!-- 左侧导航区域（可配合layui已有的垂直导航） -->
            <ul class="layui-nav layui-nav-tree" lay-filter="test">
                <li class="layui-nav-item layui-nav-itemed">
                    <a class="" href="javascript:;">用户管理模块</a>
                    <dl class="layui-nav-child">
                        <dd><a href="user.html">用户信息管理</a></dd>
                        <dd><a href="black.html">黑白名单管理</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item"><a href="host.html">主机信息管理</a></li>
                <li class="layui-nav-item"><a href="RIManager.html">远程入侵管理</a></li>
                <li class="layui-nav-item"><a href="listen_port.html">监听端口管理</a></dd></li>
                <li class="layui-nav-item layui-nav-itemed">
                    <a class="" href="javascript:;">漏洞管理模块</a>
                    <dl class="layui-nav-child">
                        <a href="loophole.html">漏洞管理</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item"><dd class="layui-this"><a href="log.html">异常登录管理</a></li>
            </ul>
        </div>
    </div>

    <div class="layui-body">
        <!-- 内容主体区域 -->
        <div style="padding: 15px;">
            <span class="layui-breadcrumb">
              <a href="index.html">首页</a>
              <a><cite>用户管理模块</cite></a>
              <a><cite>用户信息管理</cite></a>
            </span>

            <!-- 水平线 -->
            <hr class="layui-bg-blue">

            <!-- 搜索条件 -->
            <fieldset class="layui-elem-field">
                <legend>筛选条件</legend>
                <div class="layui-field-box">
                    <div class="layui-form-item layui-form-pane">
                        <label class="layui-form-label">风险等级</label>
                        <div class="layui-input-inline layui-col-space16 layui-form layui-row layui-col-space16" style="width:200px">
                                <select id="search_level">
                                <option value="">请选择风险等级</option>
                                <option value="高风险">高风险</option>
                                <option value="中风险">中风险</option>
                                <option value="低风险">低风险</option>
                            </select>
                        </div>

                        <label class="layui-form-label">警告事件</label>
                        <div class="layui-input-inline">
                            <input type="text" id="search_event" placeholder="请输入警告事件" class="layui-input">
                        </div>

                        <label class="layui-form-label">处理状态</label>
                        <div class="layui-input-inline">
                            <input type="text" id="search_host" placeholder="请输入受影响主机" class="layui-input">
                        </div>

                        <label class="layui-form-label">主机状态</label>
                        <div class="layui-input-inline layui-col-space16 layui-form layui-row layui-col-space16" style="width:200px">
                            <select id="search_state">
                                <option value="">请选择主机状态</option>
                                <option value="在线">在线</option>
                                <option value="离线">离线</option>
                            </select>
                        </div>

                        <label class="layui-form-label">处理状态</label>
                        <div class="layui-input-inline layui-col-space16 layui-form layui-row layui-col-space16" style="width:200px">
                            <select id="search_deal">
                                <option value="">请选择处理状态</option>
                                <option value="已处理">已处理</option>
                                <option value="未处理">未处理</option>
                            </select>
                        </div>
                    </div>

                    <div class="layui-form-item layui-form-pane">
                        <div class="layui-inline">
                            <button class="layui-btn layui-btn-radius layui-btn-warm" id="iReset">重置</button>
                            <button class="layui-btn layui-btn-radius layui-btn-normal" id="searchVal">搜索</button>
                        </div>
                    </div>
                </div>
            </fieldset>

            <table class="layui-hide" id="test" lay-filter="test"></table>

        </div>
    </div>

    <div class="layui-footer">
        <!-- 底部固定区域 -->
        @Copyright  电子科技大学  edu.dzkd.com
    </div>

    <script type="text/html" id="toolbarDemo"> <!-- script type="text/html" 默认代表是隐藏的内容 并且默认不会占据任何页面空间  -->
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="insertLog">新增记录</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
        <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
    </div>
    </script>

    <script type="text/html" id="barDemo">
        <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>

    <script type="text/html" id="insert_form">
        <form class="layui-field-box layui-form">
            <div class="layui-form-item layui-form-pane">
                <label class="layui-form-label">风险等级</label>
                <div class="layui-input-inline layui-col-space16 layui-form layui-row layui-col-space16">
                <select id="insert_level">
                    <option value="">请选择风险等级</option>
                    <option value="高风险">高风险</option>
                    <option value="中风险">中风险</option>
                    <option value="低风险">低风险</option>
                </select>
                </div>
            </div>

            <div class="layui-form-item layui-form-pane">
                <label class="layui-form-label">警告事件</label>
                <div class="layui-input-inline">
                    <input type="text" id="insert_event" class="layui-input" placeholder="请输入警告事件">
                </div>
            </div>

            <div class="layui-form-item layui-form-pane">
                <label class="layui-form-label">受影响主机</label>
                <div class="layui-input-inline">
                    <input type="text" id="insert_host" class="layui-input" placeholder="请输入受影响主机">
                </div>
            </div>

            <div class="layui-form-item layui-form-pane">
                <label class="layui-form-label">主机状态</label>
            <div class="layui-input-inline layui-col-space16 layui-form layui-row layui-col-space16" style="width:200px">
                <select id="insert_state">
                    <option value="">请选择主机状态</option>
                    <option value="在线">在线</option>
                    <option value="离线">离线</option>
                </select>
            </div>
            </div>

            <div class="layui-form-item layui-form-pane">
                <label class="layui-form-label">处理状态</label>
            <div class="layui-input-inline layui-col-space16 layui-form layui-row layui-col-space16" style="width:200px">
                <select id="insert_deal">
                    <option value="">请选择处理状态</option>
                    <option value="已处理">已处理</option>
                    <option value="未处理">未处理</option>
                </select>
            </div>
            </div>
        </form>
    </script>

    <script type="text/html" id="update_form">
        <div class="layui-field-box">
            <div class="layui-form-item layui-form-pane">
                <label class="layui-form-label">风险等级</label>
                <div class="layui-input-inline">
                    <input type="text" id="update_level" class="layui-input" readonly>
                </div>
            </div>

            <div class="layui-form-item layui-form-pane">
                <label class="layui-form-label">警告事件</label>
                <div class="layui-input-inline">
                    <input type="text" id="update_event" class="layui-input" readonly>
                </div>
            </div>

            <div class="layui-form-item layui-form-pane">
                <label class="layui-form-label">受影响主机</label>
                <div class="layui-input-inline">
                    <input type="text" id="update_host" class="layui-input" readonly>
                </div>
            </div>

            <div class="layui-form-item layui-form-pane">
                <label class="layui-form-label">主机状态</label>
                <div class="layui-input-inline">
                    <input type="text" id="update_state" class="layui-input" readonly>
                </div>
            </div>

            <div class="layui-form-item layui-form-pane">
                <label class="layui-form-label">处理状态</label>
                <div class="layui-input-inline layui-col-space16 layui-form layui-row layui-col-space16" style="width:200px">
                    <select id="update_deal">
                        <option value="">请选择处理状态</option>
                        <option value="已处理">已处理</option>
                        <option value="未处理">未处理</option>
                    </select>
                </div>
            </div>
        </div>
    </script>
</div>
<script src="layui/layui.js"></script>
<script src="jquery.1.11.js"></script>
<script>
    $("#iReset").click(function () {
        $("#search_level").val("");
        $("#search_event").val("");
        $("#search_host").val("");
        $("#search_state").val("");
        $("#search_deal").val("");
        layui.use('form', function(){
            var form = layui.form; //只有执行了这一步，部分表单元素才会自动修饰成功
            form.render();
            form.render('select');
        });
        tableFlush();
    });

    $("#searchVal").click(function () {
        let level = $("#search_level").val();
        let event = $("#search_event").val();
        let host = $("#search_host").val();
        let state = $("#search_state").val();
        let deal = $("#search_deal").val();
        let dkJSON = {};
        if(level != null && level != '') {
            dkJSON.level = level;
        }
        if(event != null && event != '') {
            dkJSON.event = event;
        }
        if(host != null && host != '') {
            dkJSON.host = host;
        }
        if(state != null && state != '') {
            dkJSON.state = state;
        }
        if(deal != null && deal != '') {
            dkJSON.deal = deal;
        }
        tableFlush(dkJSON);
    });

    function tableFlush(dkJSON) {
        layui.use('table', function(){
            var table = layui.table;

            table.render({
                elem: '#test'
                ,url:'/selectByLogPage'
                ,where: dkJSON              // {username:'dk', age: 22}
                ,toolbar: '#toolbarDemo' //开启头部工具栏，并为其绑定左侧模板
                ,defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义，去除该参数即可
                    title: '提示'
                    ,layEvent: 'LAYTABLE_TIPS'
                    ,icon: 'layui-icon-tips'
                }]
                ,title: '用户数据表'
                ,cols: [[
                    {type: 'checkbox', fixed: 'left'}
                    ,{field:'id', title:'序号', width:100, fixed: 'left', unresize: true, sort: true}
                    ,{field: 'level', title: '风险等级', width:150, align:'center', unresize: true, templet:function (d) {
                            if(d.level=='高风险') {
                                return  '<img src="img/high.png" style="width: 60px;height: 30px">'
                            }else  if(d.level=='中风险'){
                                return  '<img src="img/medium.png" style="width: 60px;height: 30px">'
                            }else if(d.level=='低风险'){
                                return  '<img src="img/low.png" style="width: 60px;height: 30px">'
                            }}
                    }
                    ,{field:'event', title:'警告事件', width:300, unresize: true}
                    ,{field:'host', title:'受影响主机', width:120, unresize: true}
                    ,{field: 'state', title: '主机状态', width:200, align:'center', unresize: true, templet:function (d) {
                            if(d.state=='在线') {
                                return  '<img src="img/online.png" style="width: 60px;height: 30px">'
                            }else if(d.state=='离线'){
                                return  '<img src="img/offline.png" style="width: 60px;height: 28px">'
                            }}
                    }
                    ,{field: 'deal', title: '处理状态', width:200, align:'center', unresize: true, templet:function (d) {
                            if(d.deal=='已处理') {
                                return  '<img src="img/yes.png" style="width: 90px;height: 35px">'
                            }else if(d.deal=='未处理'){
                                return  '<img src="img/no.png" style="width: 100px;height: 30px">'
                            }}
                    }
                    ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
                ]]
                ,page: true
            });

            //头工具栏事件
            table.on('toolbar(test)', function(obj){
                var checkStatus = table.checkStatus(obj.config.id);   // 当前页面的所有内容包含对象
                switch(obj.event){
                    case 'insertLog':
                        layer.open({     // 弹出框处理  模态框
                            type: 1               // 模态框
                            ,title: '新增记录' //不显示标题栏
                            ,closeBtn: false
                            ,area: ['500px','500px']  // 宽和高
                            ,shade: 0.5
                            ,id: 'LAY_layuipro' //设定一个id，防止重复弹出
                            ,btn: ['新增', '取消']
                            ,btnAlign: 'c'
                            ,moveType: 1 //拖拽模式，0或者1
                            ,content: $('#insert_form').html()         // 引入自定义表单
                            ,btn1: function(index, layero){            // 这个是新增按钮点击事件
                                // layer.msg("新增按钮执行");
                                let level = $("#insert_level").val();
                                let event = $("#insert_event").val();
                                let host = $("#insert_host").val();
                                let state = $("#insert_state").val();
                                let deal = $("#insert_deal").val();
                                $.ajax({
                                    url:"/log/insertLog",           // 请求路径
                                    type:"post",                  // 请求的方式，不区分大小写
                                    cache:false,                  // 关闭缓存，目的是为了避免部分浏览器缓存加载出错(IE)
                                    contentType:"application/json;charset=utf-8",
                                    data: JSON.stringify({
                                        level:level,
                                        event:event,
                                        host:host,
                                        state:state,
                                        deal:deal
                                    }),
                                    datatype:"json",        // 返回类型，text文本、html页面、json数据
                                    success:function(response){
                                        console.log("返回: " + response);
                                        if(response.code === 200) {
                                            layer.msg("新增记录成功!");
                                            layer.close(index);                         // 关闭当前窗口
                                        }
                                    },
                                    error:function(response){
                                        console.log("出错返回: " + response);
                                    }
                                });
                            }
                            ,success: function(layero){
                                layui.use('form', function(){
                                    var form = layui.form; //只有执行了这一步，部分表单元素才会自动修饰成功
                                    form.render();
                                    form.render('select');
                                });
                            }
                        });
                        break;
                    case 'getCheckData':
                        var data = checkStatus.data;                  // data就是用户选中的内容，data是一个JSONArray
                        layer.alert(JSON.stringify(data));
                        break;
                    case 'getCheckLength':
                        var data = checkStatus.data;
                        layer.msg('选中了：'+ data.length + ' 个');
                        break;
                    case 'isAll':
                        layer.msg(checkStatus.isAll ? '全选': '未全选');
                        break;

                    //自定义头工具栏右侧图标 - 提示
                    case 'LAYTABLE_TIPS':
                        layer.alert('这是工具栏右侧自定义的一个图标按钮');
                        break;
                };
            });

            //监听行工具事件
            table.on('tool(test)', function(obj){
                var data = obj.data;                          // 这里传递data是用户当前选中的行的完整记录
                console.log(data)
                if(obj.event === 'del'){
                    layer.confirm('真的删除行么', function(index){
                        $.ajax({
                            url:"/log/deleteByLogId",           // 请求路径
                            type:"post",                  // 请求的方式，不区分大小写
                            cache:false,                  // 关闭缓存，目的是为了避免部分浏览器缓存加载出错(IE)
                            data: {
                                id:data.id
                            },
                            datatype:"json",        // 返回类型，text文本、html页面、json数据
                            success:function(response){
                                console.log("返回: " + response);
                                if(response.code === 200) {
                                    layer.msg("删除用户成功!");
                                    layer.close(index);                         // 关闭当前窗口
                                }
                            },
                            error:function(response){
                                console.log("出错返回: " + response);
                            }
                        });
                    });
                } else if(obj.event === 'edit'){
                    layer.open({     // 弹出框处理  模态框
                        type: 1               // 模态框
                        ,title: '编辑记录' //不显示标题栏
                        ,closeBtn: false
                        ,area: ['500px','500px']  // 宽和高
                        ,shade: 0.5
                        ,id: 'LAY_layuipro' //设定一个id，防止重复弹出
                        ,btn: ['更新', '取消']
                        ,btnAlign: 'c'
                        ,moveType: 1 //拖拽模式，0或者1
                        ,content: $('#update_form').html()         // 引入自定义表单
                        ,btn1: function(index, layero){            // 这个是更新按钮点击事件
                            let deal = $("#update_deal").val();
                            $.ajax({
                                url:"/log/updateDeal",           // 请求路径
                                type:"post",                  // 请求的方式，不区分大小写
                                cache:false,                  // 关闭缓存，目的是为了避免部分浏览器缓存加载出错(IE)
                                data: {
                                    id:data.id,
                                    deal:deal
                                },
                                datatype:"json",        // 返回类型，text文本、html页面、json数据
                                success:function(response){
                                    console.log("返回: " + response);
                                    if(response.code === 200) {
                                        layer.msg("更新记录成功!");
                                        layer.close(index);                         // 关闭当前窗口
                                    }
                                },
                                error:function(response){
                                    console.log("出错返回: " + response);
                                }
                            });
                        }
                        ,success: function(layero){
                            $("#update_level").val(data.level);
                            $("#update_event").val(data.event);
                            $("#update_host").val(data.host);
                            $("#update_state").val(data.state);
                            layui.use('form', function(){
                                var form = layui.form; //只有执行了这一步，部分表单元素才会自动修饰成功
                                form.render();
                                form.render('select');
                            });
                        }
                    });
                }
            });
        });
    }

    tableFlush();   // 空参  代表 全查
</script>

</body>
</html>